Measurement instruments that measure, record, process a signal, and display the results of the processing are known to the art. For example, a digital oscilloscope measures the amplitude of a signal as a function of time and displays a portion of the observed signal as a graph of signal amplitude as a function of time. Modern digital oscilloscopes can measure a signal at a rate of close to 100 Gigasamples/second in each of a plurality of measurement channels. To generate data at this rate, the signal is typically digitized using a bank of sample and hold circuits that sample the signal in successive time slots. Each sample and hold circuit feeds a high speed analog-to-digital converter (ADC) that stores its output in a high speed memory bank that is assigned to that ADC.
Only a small fraction of this data is typically of interest. Hence, some form of “trigger” is utilized to define the beginning of a region of interest in the signal. When the trigger is detected, the instrument records the signal from the trigger to some point in time that depends on the storage capacity of the memory banks. Simple triggers such as detecting a rising edge in the signal can be implemented in hardware in real time. A trigger system that can consume samples as fast as the bank of ADCs can generate the samples will be referred to as a real time trigger (RTT) system. However, in conventional approaches, more complex triggers rely on storing a data sequence and then examining the sequence using hardware that is too slow to operate in real time. In such schemes, a real time trigger is used to define some preliminary trigger event. The instrument then records the data from that trigger point to some predetermined number of samples. The recorded data is then examined by a more complex trigger system to determine if the more complex trigger is present.
Such secondary trigger systems are referred to as post acquisition triggers (PATs). If the complex trigger is found, the instrument displays the data starting with that trigger. If the complex trigger pattern is not found, the process is repeated. During the time the PAT is operating on the stored data, the instrument is not acquiring any new data, and hence, the instrument is “blind” for that period of time. The blind time is typically a large fraction of the total operating time, and hence, a signal of interest can be lost.
In an RTT the trigger event is detected at the (real time) rate of the input signal, using dedicated triggering hardware and/or an ADC output data stream. This trigger approach never misses a trigger event. For a PAT, the trigger event is detected after the ADC data has been stored in a memory. Software and/or hardware examine the ADC data stored in memory, looking for a specified trigger condition. This trigger method is alternatively referred to as a “software trigger”. There is no guarantee that the trigger event will have been stored in the memory. It is also possible for the trigger event to occur when the ADC is not storing data to the memory; this is often known as dead time. Thus, this trigger method misses trigger events, which is an undesirable behavior.
A hardware RTT offers a high level of bandwidth, but, in conventional approaches, it may have limited ability to support complex triggers. Software triggers PAT, however, may support much richer functionality and complexity, but support less bandwidth.
Oscilloscopes provide trigger modes, such as setup violation or “edge then edge” triggers that require trigger events to be correlated across two or more channels. As discussed above, oscilloscopes today generally use analog trigger circuitry. These circuits may be expensive to design and manufacture, and also may be difficult to integrate into the oscilloscope because of the different timings of the trigger and the digital sample path. Of course, moving the triggering from the analog domain into the digital domain may address these issues. As such, the use of FSMs for digital triggering may include the use of FSMs being cascaded to correlate trigger events from separate channels.
For example, with reference to FIG. 1, an approach including the use two channel FSMs (FSM1 and FSM2) and a correlator FSM (FSM3) will be described. Each of the channel FSMs fires a trigger event when it detects a sample sequence of interest. The correlator FSM has rules that define how the individual channel trigger events combine to form the actual trigger. This approach may provide flexible triggering modes with the appropriate FSM configurations.
A disadvantage with this approach is that the amount of inputs to the correlator FSM grows as the number of channels increases. Also, since a third FSM, i.e. the correlator FSM (FSM3), is needed to correlate the output, the cost is increased.
There may be a general need for digital triggers for use with any combination of channel number, number of levels and data rate.